<html>
<body>
Reports <code>super</code> member calls with redundant supertype qualification.
<p>
    Code in a derived class can call its superclass functions and property accessors implementations using the <code>super</code> keyword.
    To specify the supertype from which the inherited implementation is taken, <code>super</code> can be qualified by the supertype name in
    angle brackets, e.g. <code>super&lt;Base&gt;</code>. Sometimes this qualification is redundant and can be omitted.
    Use the 'Remove explicit supertype qualification' quick-fix to clean up the code.
</p>
<p><b>Examples:</b></p>
<pre><code>
  open class B {
      open fun foo(){}
  }

  class A : B() {
      override fun foo() {
         super&lt;B&gt;.foo() // &lt;== redundant because 'B' is the only supertype
      }
  }

  interface I {
      fun foo() {}
  }

  class C : B(), I {
      override fun foo() {
          super&lt;B&gt;.foo() // &lt;== here &lt;B&gt; qualifier is needed to distinguish 'B.foo()' from 'I.foo()'
      }
  }
</code></pre>
<p>After the quick-fix is applied:</p>
<pre><code>
  open class B {
      open fun foo(){}
  }

  class A : B() {
      override fun foo() {
         super.foo() // &lt;== Updated
      }
  }

  interface I {
      fun foo() {}
  }

  class C : B(), I {
      override fun foo() {
          super&lt;B&gt;.foo()
      }
  }
</code></pre>
</body>
</html>
